package tsb.dtd;

import java.util.Vector;

/**
 *
 * contiene todos los elementos validados internos a un elemento
 */
public class Box {
    private Vector<BoxContenido> content;
    public static final int CONTENT = 0;
    public static final int ELEMENT = 1;

    public Box() {
        this.content = new Vector<BoxContenido>();
    }

    public void addElementoValidado(String nombre, int tipo) throws DTDException {
        if (tipo != 0 && tipo != 1) {
            throw new DTDException("Tipo inválido.");
        }
        content.add(new BoxContenido(nombre, tipo));
    }

    public void clear() {
        this.content.clear();
    }

    public BoxContenido[] getElements() {
        BoxContenido[] resultado = new BoxContenido[this.content.size()];
        resultado = this.content.toArray(resultado);
        return resultado;
    }

    public class BoxContenido {
        private String contenido;
        private int tipoDato;

        private BoxContenido(String contenido, int tipoDato) {
            this.contenido = contenido;
            this.tipoDato = tipoDato;
        }

        public String getContenido() {
            return contenido;
        }

        public int getTipoDato() {
            return tipoDato;
        }
    }
}
